CREATE TABLE [dbo].[GenericLink]
(
[GenericLinkKey] [uniqueidentifier] NOT NULL,
[SourceKey] [uniqueidentifier] NOT NULL,
[TargetKey] [uniqueidentifier] NOT NULL,
[SourceComponentKey] [uniqueidentifier] NOT NULL,
[TargetComponentKey] [uniqueidentifier] NOT NULL,
[CreatedByUserKey] [uniqueidentifier] NOT NULL,
[CreatedOn] [datetime] NOT NULL,
[MarkedForDeleteOn] [datetime] NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[GenericLink] ADD CONSTRAINT [PK_GenericLink] PRIMARY KEY CLUSTERED ([GenericLinkKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_GenericLink_CreatedByUserKey] ON [dbo].[GenericLink] ([CreatedByUserKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_GenericLink_SourceComponentKey] ON [dbo].[GenericLink] ([SourceComponentKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_GenericLink_SourceKey] ON [dbo].[GenericLink] ([SourceKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_GenericLink_TargetComponentKey] ON [dbo].[GenericLink] ([TargetComponentKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_GenericLink_TargetKey] ON [dbo].[GenericLink] ([TargetKey]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[GenericLink] ADD CONSTRAINT [FK_GenericLink_ComponentRegistry_Source] FOREIGN KEY ([SourceComponentKey]) REFERENCES [dbo].[ComponentRegistry] ([ComponentKey])
GO
ALTER TABLE [dbo].[GenericLink] ADD CONSTRAINT [FK_GenericLink_ComponentRegistry_Target] FOREIGN KEY ([TargetComponentKey]) REFERENCES [dbo].[ComponentRegistry] ([ComponentKey])
GO
ALTER TABLE [dbo].[GenericLink] ADD CONSTRAINT [FK_GenericLink_UserMain_CreatedBy] FOREIGN KEY ([CreatedByUserKey]) REFERENCES [dbo].[UserMain] ([UserKey])
GO